home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / I-J / If Monks had Macs....cpt / If Monks had Macs... / Imitatio Christi / stack_-1.xml < prev    next >
Extensible Markup Language  |  1992-02-09  |  25KB  |  16 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>257</cardCount>
  7.     <cardID>38735</cardID>
  8.     <listID>27053</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><true /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>on openCardglobal ICCard,markercleanScreenput long name of this cd into ICCardif visible of cd btn "U" is true thenif number of this cd is not marker thenhide cd btn "U"show cd btn "B"end ifend ifend openCardon idleif Commandkey() is down thencancelFindNextshow menuBarend ifpass idleend idleon mouseDownIf "button" is not in the target then pass mouseDownif short name of this cd is "Clois" thenexit mouseDownelseif short name of the target is not "Find Next" thencancelFindNextend ifend ifend mouseDownon mouseUpif mouseV() <10 and mouseH() < 10 thenshow menuBarelsecleanScreenend ifif "button" is not in the target thenpass mouseUpelseget short name of the targetif it is "U" thenif shiftKey() is not down thenGBMkelsesend Help4 to bg btn 4 of cd 2end ifelseif it is "b" thenelsedo itend ifend ifend ifend mouseUpon cleanScreenhide msghide menuBarend cleanScreenon arrowkey Directionif Direction is "left" thengoDirLend ifif Direction is "right" thengoDirRend ifcancelFindNextend arrowkeyon DogEarif shiftKey() is not down thenput (item 3 of rect of target) - (item 1 of clickLoc()) into xput (item 4 of rect of target) - (item 2 of clickLoc()) into yif (x > y) thengoDirLelsegoDirRend ifelsesend Help9 to bg btn 9 of cd 2end ifcancelFindNext--David Dunham's, Modifiedend DogEaron goDirLif number of prev cd is 1 thenif optionKey() is down thenvisual wipe leftgo cd 4elsevisual zoom ingo prev cdend ifelsevisual wipe rightif optionKey() is down thengo cd 4elsego prev cdend ifend ifend goDirLon goDirRif number of next cd is 1 thenif optionKey() is down thenelsevisual zoom ingo next cdend ifelsevisual wipe leftif optionKey() is down thengo last cdelsego next cdend ifend ifend goDirRon Contif shiftKey() is not down thenset cursor to 3if optionKey() is down thenshow bg btn "RefIndex"send mouseUp to bg btn "RefIndex"elseif number of this cd < 3 thenvisual wipe leftelsevisual wipe rightend ifgo cd id 4251end ifelsesend Help1 to bg btn 1 of cd 2end ifend Conton LastCardset cursor to 3visual wipe leftgo last cdend LastCardon GBmkglobal cardNO,thisNOput bg fld "marker" of second cd into cardNOput number of this cd into thisNOif cardNO is thisNO then exit GBmkset cursor to 3BMRDirend GBmkon RandomCardif shiftKey() is not down thenset cursor to 3global cardNO,thisNOput number of this cd into thisNOrepeatput random (number of cds) into cardNOif cardNO < number of cd id 8736 thennext repeatend ifif cardNO is thisNO thennext repeatend ifget short name of cd cardNOif first word of it is not "Chapter" ¬¨and first word of it is not "Book" thenexit repeatelseend ifend repeatBMRDirelsesend Help3 to bg btn 3 of cd 2end ifend RandomCardon BMRDirglobal cardNO,thisNOif cardNO < thisNO thenvisual wipe rightelsevisual wipe leftend ifgo cd cardNOput empty into cardNOput empty into thisNOend BMRDiron locRefset cursor to 3cleanScreenput cantmodify of this stack into Mtempset cantmodify of this stack to trueget script of targetsetRef2set rect of bg fld "Ref" to line 4 of itput line 5 to number of lines of it of it into bg fld "Ref"show bg fld "Ref"waiterset cantmodify of this stack to Mtempend locRefon textClickglobal refsTempcleanScreenput clickLineText() into temprepeat with i = 1 to number of lines of refsTempif temp is in char 1 to 2 of line i of refsTemp thenset cursor to 3put cantmodify of this stack into Mtempset cantmodify of this stack to trueput char 4 to (number of chars of line i of refsTemp) ¬¨of line i of refsTemp into bg fld "ref"setref2set rect of bg fld "Ref" to line i of bg fld "Locs"show bg fld "ref"waiterset cantmodify of this stack to Mtempexit to hyperCardend ifend repeatend textClickon waiterset cursor to 14wait until mouseClick()set cursor to 3cleaRefend waiteron setRef1set textAlign of bg fld "Ref" to centerset textStyle of bg fld "Ref" to boldset textSize of bg fld "Ref" to 12end setRef1on setRef2set textAlign of bg fld "Ref" to leftset textStyle of bg fld "Ref" to plainset textSize of bg fld "Ref" to 9end setRef2on cleaRefhide bg fld "Ref"put empty into bg fld "Ref"set rect of bg fld "Ref" to 81,3,376,46end cleaRefon RefIndexif shiftKey() is not down thencleanScreenset cursor to 3get XScrollBox(1,"Index to References:",cd fld 2 of last cd)go this cdif it is empty thenhide bg btn "RefIndex"exit RefIndexelseset cursor to 3get line item 1 of it of cd fld 3 of last cdput item 2 of it into gotoNOput item 4 of it into temp4push cdput number of this cd into thisNOif thisNO < gotoNO thenvisual wipe leftput "visual wipe right" into temp5elseif thisNO > gotoNO thenvisual wipe rightput "visual wipe left" into temp5elseput empty into temp5end ifend ifgo cd item 3 of itset cursor to 3put cantmodify of this stack into Mtempset cantmodify of this stack to trueshow bg btn "RefIndex"repeat with i = 1 to number of lines of bg fld "refs"if temp4 is in char 1 to 2 of line i of bg fld "refs" thenput char 4 to (number of chars of line i of bg fld "refs") ¬¨of line i of bg fld "Refs" into bg fld "ref"setref2set rect of bg fld "Ref" to line i of bg fld "Locs"show bg fld "ref"waiterif optionKey() is down thenset cantmodify of this stack to Mtemphide bg btn "RefIndex" of cd thisNOexit RefIndexend ifexit repeatend ifend repeatset cantmodify of this stack to Mtemphide bg btn "RefIndex"do temp5pop cdend ifelsesend Help1 to bg btn 1 of cd 2end ifend RefIndexon BookMarkglobal markerif marker is empty thenput bg fld "marker" of cd 2 into markerend ifset cursor to 3if shiftKey() is not down thenif cantmodify of this stack is false thenif number of this cd is not marker thenlock screenshow cd btn 1 of this cdhide cd btn 2 of this cdunlock screenif marker is not empty thenhide cd btn 1 of cd markershow cd btn 2 of cd markerend ifput number of this cd into markerput marker into bg fld "marker" of second cdend ifelseanswer "The bookmark cannot be reset. Either the ‚Äúcantmodify‚Äù" ¬¨&" in the ‚ÄúProtect‚Äù box is set or the stack is on a locked disk or a CD."exit bookMarkend ifelsesend help4 to bg btn "BookMark" of cd 2end ifend BookMarkon goJournalif shiftKey() is not down thenglobal ICCard,JCardset cursor to 3put long name of this cd into ICCardvisual zoom outif JCard is not empty thengo JCardelsego first cd of stack "journal"end ifif result() is empty thenelseput empty into JCardexit goJournalend ifelsesend Help7 to bg btn "goJournal" of cd 2end ifend goJournalon GoHomeif shiftKey() is not down thenglobal leaveStack,OnceOpenset cursor to 3cleanScreenput empty into leaveStackput "Opened" into OnceOpenif optionkey() is not down thenvisual wipe rightgo cd 2visual zoom ingo first cd of stack "Imitatio Christi"if result() is empty thenelsebeepexit goHomeend ifelseanswer "Go ‚ÄúHome‚Äù or Quit?" with "Home" or "Quit" or "Cancel"if it is not "Cancel" thenput it into leaveStackvisual wipe rightgo cd 2visual zoom closego first cd of stack "Imitatio Christi"if result() is empty thenelsebeepexit goHomeend ifend ifend ifelsesend Help6 to bg btn 6 of cd 2end ifend Gohomeon doMenu WhichItemif whichitem is "If Monks Had Macs..." thenanswer ¬¨"       This stack is from the package" &return¬¨&"       ‚ÄúIf Monks Had Macs...‚Äù 2.5.7" &return¬¨&"       ¬©1988,1989  riverTEXT‚Ñ¢"exit domenuend ifif word 1 of WhichItem is in "Quit,New,Cut,Paste,Clear,Delete" thenif word 1 of whichItem is in "New,Paste" thenif selection is not msg thenAnswer return &"If any man shall add unto these things..." ¬¨with "Ulp!"exit doMenuend ifend ifif word 1 of whichItem is in "Cut,Delete,Clear" thenAnswer return &"If any man shall take away from the words of " ¬¨&"this book..." with "Ulp!"exit doMenuend ifif WhichItem is "Quit HyperCard" thenglobal leaveStackif freesize of this stack > 2000 ¬¨and diskspace() > size of this stack thenif leaveStack is empty thenset lockmessages to truecleanScreenvisual zoom closego first cdAnswer "Clean up desk?" with ¬¨"Compact" or "Next time"If it is "Compact" thenset style of bg fld "Ref" to shadowset rect of bg fld "Ref" to 32,141,491,190set textStyle of bg fld "Ref" to plainset textSize of bg fld "Ref" to 12set textAlign of bg fld "ref" to centerPut return &"Removing stray scraps of paper, fastening clasp," ¬¨&" and shelving book." into bg fld "Ref"lock screenshow bg fld "Ref"unlock screen with dissolveif leaveStack is not empty then play "Fountain"doMenu "Compact Stack"cleaRefpass doMenuend ifif it is "Next time" thenplay stoppass domenuend ifend ifend ifplay stoppass doMenuelseplay stoppass doMenuend ifelsepass doMenuend ifend doMenu------ Find Stuff ------on FindBtnif shiftKey() is not down thenset cursor to 3searchAC 1  -- XFCN to bring up dialog box to set Find parameters-- Adapted with permission from Oscar Hills stack "AutoCat 4.0"elsesend Help2 to bg btn 2 of cd 2end ifend FindBtnon searchAC flagglobal whichButton,whichfindbutton,textString,fType,fieldNamecleanScreenif flag >0 thenput SearchAutoCat() into textStringend ifif textString is empty then exit searchACput ",chars,word,whole,string" into typeListput item whichButton of typeList into fTypeif whichFindButton contains 1 then -- search allput empty into fieldNameend if -- wfb 1if whichFindButton contains 2 then -- search chapter titlesput "background field " &kwote(title) into fieldNameend if -- wfb 2if whichFindButton contains 3 then -- search text fieldput "background field " &kwote(text) into fieldNameend if -- wfb 3findwksend searchACon FindWksglobal FType,textString,fieldName,hits,HideNext,doFindcancelFindNextif textstring is not empty thenset cursor to 3put number of this cd into thisCardNOif the diskspace > 5000 thenput "Please Wait" &return &"Finding all instances of your selected"¬¨&" string." into bg fld "Ref"setRef1set rect of bg fld "Ref" to 83,3,404,44lock screenshow bg fld "ref"unlock screen with dissolveend iflock screenpush cdset lockMessages to truego first cd of bg "Chapter Heading"put collectAllHits(textString,fieldname) into hitsset lockMessages to falseif hits is empty thenpop cdrestoreRefsGlobalsunlock screenbeepanswer "Couldn't " &doFindelseget item 1 of hitsgo cd itrestoreRefsGlobalsif number of items in hits > 1 thenrepeat with i = 1 to number of items of HideNextput item i of HideNext into cardIDshow bg btn "find next" of cd id cardIDend repeatend ifclick at 1,1get loc of msgset loc of msg to -1000,-1000put doFindhide msgset loc of msg to itend iflock screenif the diskSpace > 5000 thenhide bg fld "Ref" of cd thiscardNOput empty into bg fld "Ref" of cd thiscardNOset rect of bg fld "Ref" of cd thiscardNO to 81,3,376,46end ifunlock screen with dissolvedo doFindend ifend FindWkson restoreRefsGlobalsglobal refsTemp,ICCardif short name of this bg is "Chapter Heading" ¬¨or short name of this bg is "Chapter Text" thenput bg fld "Refs" into refsTempend ifput long name of this cd into ICCardend restoreRefsGlobalsfunction collectAllHits textString,fieldNameglobal FType,doFindif fieldName is not empty thenput "find " &ftype &" " &kwote(textString) &" in " & fieldName into DoFindelseput "find " &ftype &" " &kwote(textString) into doFindend ifrepeat with i = 1 to 10000 --arbitrarily large numberset cursor to 3do DoFind -- find ftype text in field fieldNameif the result is "not found" then --couldn't find it at allreturn emptyelse if i = 1 then --found it at least onceput id of this cd into firstFind --first time foundput firstFind into hitselse if id of this cd is firstFind then --found it some more times--have come around to first find cardreturn hitselseput "," & id of this cd after hits --add card id to the listend ifset cursor to 3go next cd --start looking from next cardend repeatend collectAllHitson cancelFindNextglobal HideNext,hitsif short name of this stack is not "imitatio Christi" then exit cancelFindNextif visible of bg btn "Find Next" is true thenlock screenrepeat with i = 1 to number of items of HideNextput item i of HideNext into cardIDhide bg btn "find next" of cd id cardIDhide bg fld "Ref" of cd id cardIDend repeatunlock screen with dissolveend ifput empty into hitsend cancelFindNextfunction kwote stringreturn quote & string & quoteend kwoteon FNBtnif optionKey() is down thenset cursor to 3cancelFindNextelseglobal X1,Y1,X2,Y2,X3,Y3,doFind,dir4putRectif y3 < (y1 +6) thendo doFindwait 30end ifif  y3 < (Y2 - 11)  and y3 > (y1 + 6) thenif x3 < (x1 +11) thenput "Left"  into dir4elseput "Right" into dir4end ifFindGoend ifif y3 > (y2 - 11) thensearchAC 1end ifend ifend FNBtnon putRectglobal X1,Y1,X2,Y2,X3,Y3put "X1,Y1,X2,Y2" into globalListget rect of targetrepeat with i = 1 to 4do "put item "&i &" of it into " &item i of globalListend repeatput mouseH() into X3put mouseV() into Y3end putRecton FindGoglobal hits,currentNO,dir4if hits is empty thenelseset cursor to 3if hits contains id of this cd thenrepeat with i = 1 to number of items of hitsif item i of hits is id of this cd thenput i into currentNOexit repeatend ifend repeatend ifif dir4 is "left" then leftGoif dir4 is "right" then rightGoend ifend FindGoon leftGoglobal hits,currentNOif first word of (item (currentNo -1) of hits) is "card" thenvisual wipe rightgo (item (currentNo -1) of hits)elsevisual wipe rightgo item (number of items of hits) of hitsend ifend leftGoon rightGoglobal hits,currentNOif CurrentNo is number of items of hits thenvisual wipe leftgo item 1 of hitselseif first word of (item (currentNo +1) of hits) is "card" thenvisual wipe leftgo (item (currentNo +1) of hits)elsevisual wipe leftgo item (number of items of hits) of hitsend ifend ifend rightGo------ End Find Stuff ------------ IC first card script ------on FirstCardScriptglobal OnceOpen,markerhide menuBarset cursor to 3if optionKey() is not down thenif OnceOpen is empty thenset cursor to 3put bg fld "marker" of cd 2 into markerput "opened" into OnceOpenplay "chant"wait until the sound is "done"get MaxApplZone ("Compact")set cursor to handFirstCardScriptBgNoiseelseset cursor to handFirstCardScriptBgNoiseend ifelseplay "harpsichord"end ifend FirstCardScripton FirstCardScriptBgNoiseglobal leaveStackput "bell,bird,Fountain4,Fountain4,Fountain4," ¬¨&"Fountain4,Fountain4" into sndTempput "Bird1,bird2" into birdTempif leaveStack is empty thenput empty into tempput empty into bellTemprepeatif temp is empty thenset cursor to handput random(8) into sndItemif sndItem is "1" thenif bellTemp is empty thenplay item sndItem of sndTempput "been gonged" into bellTempelsenext repeatend ifelseif sndItem is "2" thenput random(2) into sndItemplay item sndItem of birdTempelseplay item sndItem of sndTempend ifend ifget inKey()if it is  "" or it is  "" thenset cursor to 3if it is "" thenvisual zoom outgo prev cdput it into tempwait 30play stopexit repeatend ifif it is "" thenvisual zoom outgo next cdput it into tempwait 30play stopexit repeatend ifelseend ifif commandKey() is down thenset cursor to 3visual zoom outgo cd "title"put "command" into tempwait 30play stopexit repeatend ifif mouseClick() thenset cursor to 3repeat with i = 1 to number of cd btnsif clickLoc() is within rect of cd btn i thensend mouseup to cd btn iput "Click" into tempplay stopexit  repeatend ifend repeatend ifelseexit FirstCardScriptBgNoiseend ifend repeatend ifif leaveStack is not empty thenset cursor to 3put random(3) into sndItemif sndItem is "2" thenput random(3) into sndItemplay item sndItem of birdTempwait until the sound is "Done"elseplay item sndItem of sndTempwait until the sound is "Done"end ifif leaveStack is "Home" thenput empty into leaveStackvisual wipe right to blackvisual dissolve to blackvisual dissolvego homeexit FirstCardScriptBgNoiseend ifif leaveStack is "Quit" or leaveStack is "Desktop" thenput empty into leaveStackdoMenu "Quit HyperCard"exit FirstCardScriptBgNoiseend ifend ifend FirstCardScriptBgNoise------ end IC first card script ------------ init stack ------on openStackif the version < 1.2 thenAnswer "Hypercard version 1.2, or later, is available at your "¬¨&"Apple dealer. Some functions of this stack require the new "¬¨&"features.  Continue?" ¬¨with "Risk It" or "Go Home"if it is "Go Home" thenset lockMessages to truevisual dissolvedoMenu "home"exit openStackend ifend ifcleanScreeninitAllAbout " ","If Monks Had Macs..."get number of items of line 5 of bg fld "Hold Globals" of cd 2if number of bgs ‚↠it thensetHideNextend ifend openStackon resumeinitAllpass resumeend resumeon startUpinitAllpass startUpend startUpon initAll --Hillsglobal whichButton,whichFindButton,textString,DoFind,HideNext,markerglobal Stacksif Stacks is empty thenCheckGlobalsend ifset userLevel to 5set textArrows to falseput empty into textStringIf bg fld "Marker" of second cd is empty thenput 4 into markerelseput bg fld "Marker" of second cd into markerend ifget line 1 of bg fld "Hold Globals" of cd 2if it is not empty thenput line 1 of bg fld "Hold Globals" of cd 2 into whichButtonput line 2 of bg fld "Hold Globals" of cd 2 into whichFindButtonput line 3 of bg fld "Hold Globals" of cd 2 into textString-- field remembers Find dialog box settings between stack useselse-- if it doesn't remember, set defaultsput 1 into whichButtonput 1 into whichFindButtonput empty into textStringend ifget line 5 of bg fld "Hold Globals" of cd 2if it is not empty thenput it into HideNextelsesetHideNextend ifend initAllon CheckGlobalsglobal GULevel,GPKeys,GTArrowsglobal GVPatn,GBTyping,GVMsg,GVToolgetHomeInfoput the userLevel into GULevelput the powerKeys Into GPKeysput the textArrows into GTArrowsput the blindTyping into GBTypingput the visible of the msg into GVMsgput the visible of tool window into GVToolput the visible of pattern window into GVPatnend CheckGlobalson newBackgroundsetHideNextend NewBackgroundon deleteBackgroundsetHideNextend deleteBackgroundon setHideNextglobal HideNextcleanScreenset cursor to 3lock screenset lockMessages to truepush cdput empty into HideNextrepeat with i = 1 to number of bgsgo first cd of bg iput id of this cd into IDNOput last word of IDNO &"," after HideNextend repeatdelete last char of HideNextput HideNext into line 5 of bg fld "Hold Globals" of cd 2put number of bgs into line 8 of bg fld "Hold Globals" ¬¨of cd 2pop cdunlock screenend setHideNexton closeStack-- record find dialog box's most recent settingsglobal whichButton,whichFindButton,textString,fType,fieldNameglobal doFind,hits,HideNext,CType,markerglobal currentNO,X1,Y1,X2,Y2,X3,Y3,dir4,refsTempglobal GULevel,GPKeys,GTArrowsglobal GVPatn,GBTyping,GVMsg,GVToolcleanScreenrepeat with i = 1 to number of items of HideNextput item i of HideNext into cardIDif visible of bg btn "Find Next" is true thenhide bg btn "Find Next" of cd id cardIDend ifend repeatput marker into bg fld "marker" of second cdput whichButton into line 1 of bg fld "Hold Globals" of cd 2put whichFindButton into line 2 of bg fld "Hold Globals" of cd 2put textString into line 3 of bg fld "Hold Globals" of cd 2put HideNext into line 5 of bg fld "Hold Globals" of cd 2put "whichButton,whichfindbutton,textString,fType,fieldName," ¬¨&"doFind,hits,N,HideNext,CType,currentNO," ¬¨&"X1,Y1,X2,Y2,X3,Y3,dir4,refsTemp,marker" into ClearListrepeat with i = 1 to number of items of ClearListdo "put empty into " &item i of clearListend repeatif GULevel is empty thenCheckGlobalsend ifset the userLevel to GULevelset the powerKeys to GPKeysset the textArrows to GTArrowsset the blindTyping to GBTypingset the visible of the msg to GVMsgset the visible of tool window to GVToolset the visible of pattern window to GVPatnaboutend closeStack------ end intit stuff --------function clickLine returns the line of the target field--over which the mouse was clicked. AC ¬©function clickLine -- AC ¬©return ((mouseV() - item 2 of rect of target-4)¬¨div textheight of target) + 1end clickLinefunction clickLineTextput ((mouseV() - item 2 of rect of target-4)¬¨div textheight of target) + 1 into temp6if number of chars of temp6 is 1 thenput "0" & temp6 into temp6end ifreturn temp6end clickLineTexton PrintChapterglobal CTypecleanScreenif shiftKey() is not down thenif commandKey() is down then  -- Change print text style.if cantModify of this stack is true thenanswer "Changes to the text style cannot be made at this "¬¨&"time. The stack is protected or on a locked disk."exit printChapterend ifset cursor to 3set icon of bg btn "PrintChapter" to 28920lock screenpush cdgo cd "Finis"select bg fld 1doMenu "Text Style..."choose Browse Toolset cursor to 3show cd fld 1pop cdset icon of bg btn "PrintChapter" to 27601play "harpsichord"exit PrintChapterend ifif optionKey() is down thenif cantModify of this stack is true thenanswer "Changes to the TEXT file creator cannot be made at this "¬¨&"time. The stack is protected or on a locked disk."exit PrintChapterend ifgetCTypeexit PrintChapterend ifanswer return &"      Print card(s) or the text of a chapter?" with ¬¨"Print Cards" or "Text Only" or "Cancel"if it is "Cancel" then exit PrintChapterif it is "Print Cards" thenanswer "Print..." with "Stack" or "This Card" or "Cancel"if it is "Cancel" then exit PrintChapterif it is "Stack" thendoMenu "print Stack..."end ifif it is "This Card" thendoMenu "Print Card"end ifend ifif it is "Text Only" thenif the diskSpace < 100000 thenanswer "There isn't enough free space on this disk " ¬¨&"to allow the creation of the temporary field necessary " ¬¨&"for printing." with "Cancel"exit PrintChapterend ifif short name of this bg is "Chapter Heading" or ¬¨short name of this bg is "Chapter Text" thenanswer "Print this chapter or copy it to a text file." ¬¨with "Print" or "Save to Disk" or "Cancel"if it is "Cancel" then exit PrintChapterif it is "Print" then put "toPrinter" into wherePrintif it is "Save to Disk" then put "toDisk" into wherePrintset cursor to 3lock screenpush cdif short name of this bg is not "Chapter Heading" thengo previous cd of bg "Chapter Heading"end ifput short name of this cd into FileNameput "Chapter " & bg fld "PageNO" &" - " ¬¨&bg fld "Title" &return &return into SaveFileput "   " &bg fld "initLetter" after SaveFileput bg fld "text" into tempTextrepeat with i =  2 down to 1delete char i of tempTextend repeatrepeatif char 1 of tempText is " " thendelete char 1 of temptextelseexit repeatend ifend repeatput temptext after SaveFilego next cdrepeatif short name of this bg is "Chapter Text" thenput bg fld "Text" after SaveFileelseexit repeatend ifgo next cdend repeatgo cd "Finis"put SaveFile into bg fld "Text"if wherePrint is "toDisk" thenif CType is empty or length of CType <> 4 thenput bg fld "InitLetter" of cd "Finis" into CTypeif CType is empty or length of CType <> 4 thenput "MACA" into CTypeend ifend ifset name of bg fld "Text" to FileNameFieldToFile "bkgnd field 1","",CType-- FieldToFile ¬©1988 by the Trustees of Dartmouth College.-- FieldToFile fieldDesignation,<full pathname of file>,<creator>set cursor to 3set name of bg fld FileName to "Text"end ifif wherePrint is "toPrinter" thenset name of bg fld "Text" to FileNameprintfield "Bkgnd field 1",2,72,72,72,72-- Prin